package cn.lutu.domain.repository;

import cn.lutu.protocol.entity.Category;
import cn.lutu.protocol.vo.CategoryListVO;
import cn.lutu.protocol.vo.CategoryStandardVO;
import cn.lutu.util.pojo.vo.PageData;
import com.alipay.api.domain.CategoryDTO;

import java.util.List;

public interface CategoryRepository {

    /**
     * 插入类别数据
     *
     * @param category 类别数据
     * @return 受影响的行数
     */
    int insert(Category category);

    /**
     * 根据ID删除类型数据
     */
    int deleteById(Long id);
    /*更新类别*/
    int updateById(Category category);
    /*根据名称查询类别数量*/
    int selectByName(String name);
    /*根据parentId统计数量*/
    int selectCount(Long parentId);
    /*根据ID查询标准类别*/
    CategoryStandardVO selectStandardById(Long id);
    /*根据ID查询类别*/
    Category selectById(Long id);
    /*查询类别列表，用户生成类别树*/
    List<CategoryListVO> getCategoryList();

    /*根据ParentId获取类型列表*/
    List<CategoryListVO> getCategoryByParentId(Long parentId);

    /*分页查询类别列表*/
    PageData<CategoryListVO> selectCategories(Integer pageNum, Integer pageSize);
}
